package com.techsoft;

import java.util.Map;

public interface Session {
	// 空闲多久后， Session过期处理
	public static Integer IDLETIME = 7200; // 空闲时间，单位为秒

	// 账号字段， 可根据实际需要由外部去插件进行初始化
	public static String userNameField = "username";

	// 用户ID字段， 可根据实际需要由外部去插件进行初始化
	public static String userIDFiled = "id";

	// 用户密码字段， 可根据实际需要由外部插件进行初始化
	public static String userPasswordField = "password";

	// 登录验证的SQLID， 可根据实际需要由外部插件进行初始化
	public static String loginsqlid = "1004";

	// 协议的sessionid名称
	public static String sessionid = "sessionid";

	// 用户的相关信息， 也可能包含用户的权限信息
	public Map<String, Object> getUserInfo(); // 用户信息

	// 设置用户信息
	public void setUserInfo(Map<String, Object> userInfo);

	// 取得用户最后一次访问时间
	public Long getLastAccessTime();

	// 更新用户最后访问时间
	public void setLastAccessTime(Long time);

	// 取得登录时间
	public Long getLoginTime();

	// 取得客户端的SessionID, 每一个客户端都会自动存在
	public String getClientSessionID();

	// 设置客户端的SessionID
	public void setClientSessionID(String clientSessionID);

	// 由服务器自动生成的GUID， 和ClientSessionID一起来验证请求的合法性
	public String getAuthToken();
}
